As the word processing, graphics and desk-top publishing fields have grown, so have the variety of ways to describing a document to be produced on an output device, such as a plotter or printer. A document can be a raster image, a vector drawing, a collection of text, any combination of the three, etc. Exemplary output devices are color electronic pre-press systems (CEPS), desk-top publishing (DTP) systems, imaging input/output devices, such as scanners, plotters, printers, still video cameras, frame grabbers, etc.), graphic accelerators, image compression hardware and software, raster image processors (RIP), facsimile machines, color equalizing devices, word processing applications and graphics applications.
The person who creates the document, usually within application software, typically defines it so that when it is physically produced, it will look the way he wants it to. However, each output device typically has a range of document attributes which it can handle. For example, a plotter may have the document handling capabilities for the following document attributes: A4-B4 sizes of paper, 24 bit color, and 600 dots per inch (dpi) resolution. A facsimile machine may be able to print black and white on A4 paper at 200 dpi resolution.
The system where the document currently resides, herein termed a "document handler", presently can only provide documents to certain output devices, whose document handling capabilities are known to the document handler and which match the document attributes which the document handler provides. The document handler is thus "configured" to work with the output device. If a new output device is purchased, the document handler must be reconfigured to work with the new output device.
The same problem holds at the sub-system level. If a new piece of hardware, such as a color printer, is connected into an existing document handler, the document handler, and the applications which it runs, must be reconfigured to provide them with knowledge of the capabilities of the new piece of hardware.
The problem is not that the input and output devices cannot communicate with each other in the sense of providing the data of the document to each other (this they typically do according to standard communication protocols), but that the output device cannot always produce the document as desired.
This problem also exists between document handlers and "document creators", such as scanners, frame grabbers, and other document creating devices. For example, if the document creator produces large documents (typically images) and the document handler does not have a large storage unit, then the document handler cannot store the produced document. The same holds true if the document creator produces the documents in a format, or compression algorithm, which the document handler does not utilize.